This invention relates generally to standard request-response protocols such as the HyperText Transport Protocol (HTTP), and more specifically to standard database queries, such as Structure Query Language (SQL) queries, within such standard requestresponse protocols.
The HyperText Transport Protocol (HTTP) has emerged as the standard mechanism by which information is transported over TCP/IP (Transmission Control Protocol/Internet Protocol) compatible networks, such as the Internet, intranets, and extranets. HTTP is more specifically an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol that can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers. It is referred to as a transport protocol, since information is transported according to its specifications, and is also referred to as a request-response protocol, since information is exchanged by a client making a request of a server, which generates a response thereto. HTTP as referred to herein refers generally to any standard of HTTP, and specifically to HTTP/1.1, as described in the HTTP Working Group Internet Draft dated Nov. 18, 1998, prepared by Fielding, et al., and available on the web site http://www.w3.org.
A common use of HTTP is the transport of information formatted according to a markup language. For example, a popular application of the Internet is the browsing of world-wide-web pages thereof. In such instances, typically the information retrieved is in HyperText Markup Language (HTML) format, as transported according to HTTP. However, other standard markup languages are emerging. One such markup language is eXtensible Markup Language (XML). XML describes a class of data objects that are referred to as XML documents, and partially describes the behavior of computer programs that process them. A primary difference between HTML and XML is that within the former, information content is intertwined with the layout of the content, making their separation difficult, for example. Conversely, within XML a description of the storage layout and logical structure of content is maintained separate from the content itself. However, both XML and HTML are subsets of a markup language known as Standard Generalized Markup Language (SGML). XML as referred to herein refers generally to any standard of XML, and specifically to XML 1.0, as described in the W3C recommendation REC-xml-19980210 dated Feb. 10, 1998, and also available on the web site http://www.w3.org.
A limitation to HTTP, however, is that it does not have defined extensions for standard database queries. Database queries are typically generated by clients for transmission to servers maintaining a database, so that the client can, for example, determine specific information contained in the database. A database query language is referred to as a language in which database queries can be formulated. The most popular database query language is the Structured Query Language (SQL). Thus, SQL is a database language that allows clients to formulate queries to obtain information from databases stored on servers. SQL as referred to herein refers generally to any standard of SQL, and specifically to the version of SQL known within the art as either SQL 92, SQL2, or SQL 1992. SQL 92 is specifically described in ISO/IEC 9075:1992, Database Language SQL, Jul. 30, 1992, available from and produced by the International Organization for Standardization (ISO) in liaison with the International Electrotechnical Commission (IEC), specifically the Joint Technical Committee ISO/IEC JTC1, Information Processing Systems. SQL is also described in Chris Date and Hugh Darwen, A Guide to the SQL Standard: A User""s Guide to the Standard Database Language SQL, April 1997, ISBN 0201964260.
Because HTTP does not provide for SQL queries, clients and servers otherwise connected to the Internet, for example, have no standard mechanism by which to communicate with one another regarding information stored in databases on the servers. A client may have to know the specific and peculiar manner by which a database server expects to receive SQL queries over the Internet. This limits the usability of such database servers. For these and other reasons, there is a need for the present invention.
The invention relates to standard database queries within standard requestresponse protocols. For example, in one embodiment, a method receives a database query according to a predetermined query language such as SQL. The method wraps the query according to a predetermined markup language, such as XML. The method further wraps the query according to a predetermined transport protocol, such as HTTP. The method outputs the database query as has been wrapped, such that the query can be submitted from a client to a server over a TCP/IP-compliant network, such as the Internet.
Embodiments of the invention therefore provide for advantages not found in the prior art. Computers coupled to TCP/IP-compliant networks such as the Internet, intranets, and extranets can send and receive SQL queries and responses among one another in a standard manner. Because Internet connectivity is becoming increasingly standard for computers, this means that so long as a given computer is able to generate an SQL query, it is then able, for example, to send the query to a server maintaining an SQL database, in a standard manner.
The invention includes computer-implemented methods, machine-readable media, computerized systems, and computers of varying scopes. Other aspects, embodiments and advantages of the invention, beyond those described here, will become apparent by reading the detailed description and with reference to the drawings.